package com.ruoyi.system.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.entity.SysDictTree;

/**
 * 树形字典管理Service接口
 *
 * @author ruoyi
 * @date 2025-06-06
 */
public interface ISysDictTreeService extends IService<SysDictTree> {
    /**
     * 查询树形字典管理
     *
     * @param id 树形字典管理主键
     * @return 树形字典管理
     */
    public SysDictTree selectSysDictTreeById(Long id);

    /**
     * 查询树形字典管理列表
     *
     * @param sysDictTree 树形字典管理
     * @return 树形字典管理集合
     */
    public List<SysDictTree> selectSysDictTreeList(SysDictTree sysDictTree);

    /**
     * 新增树形字典管理
     *
     * @param sysDictTree 树形字典管理
     * @return 结果
     */
    public boolean insertSysDictTree(SysDictTree sysDictTree);

    /**
     * 修改树形字典管理
     *
     * @param sysDictTree 树形字典管理
     * @return 结果
     */
    public boolean updateSysDictTree(SysDictTree sysDictTree);

    /**
     * 批量删除树形字典管理
     *
     * @param ids 需要删除的树形字典管理主键集合
     * @return 结果
     */
    public boolean deleteSysDictTreeByIds(Long[] ids);

    /**
     * 删除树形字典管理信息
     *
     * @param id 树形字典管理主键
     * @return 结果
     */
    public boolean deleteSysDictTreeById(Long id);

    /**
     * 根据字典类型查询字典树
     *
     * @param dictType 字典类型
     * @return 字典树
     */
    List<SysDictTree> selectSysDictTreeByDictType(String dictType);

    /**
     * 构建前端所需要树结构
     * @param dictTrees
     * @return
     */
    List<SysDictTree> buildDictTree(List<SysDictTree> dictTrees);
}
